Инвесторы из фонда **«Shut Up and Take My Money»** решили попробовать себя в новой области и открыть заведение общественного питания в **Москве**. Заказчики ещё не знают, что это будет за место: кафе, ресторан, пиццерия, паб или бар, — и какими будут расположение, меню и цены. Для начала они просят нас подготовить исследование рынка Москвы, найти интересные особенности и презентовать полученные результаты, которые в будущем помогут в выборе подходящего инвесторам места. Нам доступен датасет с заведениями общественного питания **Москвы**, составленный на основе данных сервисов **Яндекс Карты** и **Яндекс Бизнес** на лето **2022** года. Информация, размещённая в сервисе Яндекс Бизнес, могла быть добавлена пользователями или найдена в общедоступных источниках. Она носит исключительно справочный характер.
# Рынок заведений общественного питания Москвы

Загрузка данные и изучение общей информации

Импортировали библиотеки `pandas`, `matplotlib.pyplot`, `seaborn`, `plotly` и `IPython.display`. Далее создадим переменную `data` и выведем первые **5** строк датафрейма. Данные распределены по **14** колонкам: - `name` — *название заведения* - `address` — *адрес заведения* - `category` — *категория заведения* - `hours` — *информация о днях и часах работы* - `lat` — *широта географической точки, в которой находится заведение* - `lng` — *долгота географической точки, в которой находится заведение* - `rating` — *рейтинг заведения по оценкам пользователей в Яндекс Картах* - `price` — *категория цен в заведении* - `avg_bill` — *строка, которая хранит среднюю стоимость заказа в виде диапазона* - `middle_avg_bill` — *число с оценкой среднего чека,* - `middle_coffee_cup` — *число с оценкой одной чашки капучино* - `chain` — *идентификатор которое показывает, является ли заведение сетевым* - `district` — *административный район, в котором находится заведение* - `seats` — *количество посадочных мест*
Датафрейм содержит **8406** строк и **14** колонок.

Предобработка данных

Проверка пропусков

Проверим на наличие пропусков. В колонке `hours` с указанием времени работы есть **536** пропусков, это около **6%** всех данных. В колонках `price` (**60%**), `avg_bill` (**54%**), `middle_avg_bill` (**62%**), `middle_coffee_cup` (**93%**), `seats` (**43%**) пропусковслишком много, поэтому оставим как есть.

</div>

Проверим уникальные значения времени работы заведений.
Заменим пропуски в колонке `hours` на значение **нет данных**.
Выведем колонку `hours` со значениями **нет данных**. Можем наблюдать, что данные отсутствуют у различных типов заведений, поэтому заменять на среднее значение будет не правильно.

Проверка дубликатов

Проверили датафрейм на наличие полных дубликатов. Дудликатов нет.

Добавление колонки с указанием улицы

В колонке с указанием адреса **5753** уникальных названия
Создадим новую колонку `street`, в нее войдут только название улицы. Для этого создадим функцию, которая преобразуем адрес в строку с разделителем по **( , )** и выведем второе значение. Далее применим функцию к колонке `address`.

Добавление колонки с круглосуточными заведениями

Посмотрим еще раз на варианты графиков работы заведений.
Создадим новую колонку `is_24/7` в которой отразим заведения работающие **ежедневно и круглосуточно** и все остальные.
Колонка имеет **булев** тип данных.

Добавление колонки с данными о цене на чашку капучино

В дальнейшем мы будем анализировать **кофейни**, поэтому добавим колонку с флагом на **чашку капучино**.

Анализ данных

Исследуем категории заведений представленых в данных.

Посмотрим на уникальные значения категорий представленных заведений. Их всего всего **8**. Странно, что отсутствуют ночные клубы и банкетные залы, а вот наличие булочной удивило.
Сгруппируем данные по категориям и отсортируем по убыванию. Первое место занимает категория **Кафе**, далее с отставанием в **10%** расположились **Рестораны**, на третьем месте, набирающая в последние годы популярность, категория **Кафейня**. Категория **Бар,паб**, **Пиццерия** и **Быстрое питание** занимают середину списка со значениями порядка **30%** от лиделов. На последнем месте **Булочная** с показателями чуть выше **10%** от лидела.
Построим график для наглядной визуализации.

Исследуем количество посадочных мест.

Исследуем данные по количеству посадочных мест, они предоставленны только по **4795** заведениям. Максимальное значение **1288** мест, среднее **108**, а медианное **75**. Это означает, что большое максимальное значение перетягивает среднее значение в большую сторону.
Очень интересно, максимальное значение в **1288** мест указано в 11 заведениях. Примечательно, что заведения разных категорий, есть как сетевые, так и не сетевые, но все располагаются на одной улице **проспакт Вернадского**.
Значения количества посадочных мест более **800** можно считать аномальными.
Посмотрим на медианное распределение по группам. Разница первого места от последнего **36** мест. На первом **рестораны**, далее **бар**, потом **кофейня** и **столовая**, **быстрое питание**, **кафе**, **пиццерия** и замыкает **булочная**.
Построим круговую график распределения по **количеству посадочных мест** в зависимости от **категории** заведения.

Рассмотрим соотношение сетевых и несетевых заведений.

Всего в датафрейме представлено **5201** заведений не сетевых и **3205** заведений сетевых. Посмотрим на распределение, к сетевым отноястся **38%** представленных заведений.

Анализ категорий заведений которые чаще являются сетевыми?

Построим график распределения категорий в зависимости от сетевого статуса. По нему мы видим, что такие категории как: **кафе**, **ресторан**, **бар**, **быстрое питание** и **столовая** чаще не относятся к сетевым, а вот **кофейня**, **пиццерия** и **булочная** чаще имеют принадлежность к сетевому бизнесу.
Посмотрим на данные в абсолютных цифрах. Сделаем сводную таблицу с указанием категории `category `, количество не сетевых заведений `chain_n`, количество сетевых заведений `chain_y` и доля по отношению сетевых к не сетевым `ratio`. Например **булочная** имеет отношение **158%**, а **пиццерия** **108%**, **кофейня** **103%**, а **кафе** **48%** и **ресторан** **55%**.

Анализ топ-15 популярных сетей в Москве.

Создадим вспомогательную таблицу с данными по **улице**, **названию заведения**, **категории**, **округу**. Далее сгруппируем по названию в колонке `count`.
Сгруппируем по названию и посчитаем количество таких заведений. Отсортируем по убыванию и выведем топ **15** заведений. На первом месте **Кафе** (над названием долго не думали) с **189** заведениями, на втором месте сеть **Шоколодница** c **120** заведениями, на третьем и четвертом месте расположились пиццерии **Домино'с Пицца** и **Додо Пицца** с **76** и **74** заведениями, а это на треть меньше заведений, чем у второго места. В **топ 15** вошли сети с более чем **34** заведениями.
Создадим переменную `data_name_cat` с названием и категориями.
Объединим две таблицы. Получим данные с названиями **топ 15** заведений и их категориями.
Группируем по названию. У **8** из **15** названий имеются заведения с разными категориями.
Построим график для визуализации наших наблюдений. Видим, что **Кафе** представлено в **7** категориях, **Хинкальная** в **5**, **Чайхана** в **3**, **Шаурма** в **3**, **Шоколадница** в **2**.

Анализ категорий заведений по административным округам.

Построим уникальные значения в колонке `district`. Всего **9** районов.
Сделаем сводную таблицу по **округам** и **категориям** и посчитаем количество заведений в каждой категории. Видим, что основная масса заведений располагается в **Центральном административном округе**, на него приходятся все первые места категорий при сортировки. Если не брать данные лидера, то видим, что **булочные** чаще располагаются в **Западном и Северном административном округах**, а **быстрое питание** развито в **Южном, Северо-Восточном и Восточном административном округе**. Распределение по остальным не так сильно выражено.
Построим тепловую карту для визуализации наших наблюдений. Пиковое значение в **670** заведений, показывают рестораны в **Центральном административном округе**

Анализ распределений средних рейтингов по категориям заведений.

Построим на уникальные значения рейнига. Анамалий не наблюдаем.
Посмотрим на значения в колонке `rating`. Посмотрим на распределение, среднее значение на уровне **4.22**, медианное значение **4.3**, первый перцентиль на уровне **4.1** (в основном ставят хорошие рейтинги).
Построим сводную таблицу с указанием **категории и рейтинга** (*общего числа и среднего значения*). Отсортируем по убыванию. В зависимости от **категории**, среднее значение **рейтинга** изменяется не значительно (*в пределах десятых долей*).
Визуализируем наши наблюдения. Самый высокий средний рейтинг у **баров**, далее идет группа из **4** категорий **(пиццерия, ресторан, кофейня и булочная)**, на удивление **столовая** опережает **кафе** и замыкает стисок **быстрое питание**.

Построим фоновую картограмму (хороплет) со средним рейтингом заведений каждого района

Составим сводную таблицу по **округам** и посчитаем **средний рейтинг** по заведениям. Отсортируем по убыванию. Видим, что в **Центральном административном районе**, не только **самое большое количество заведений (2242)**, но еще и **самые высокие рейтинги (4.37)**.
Создаем карту хороплет со значением среднего рейтинга по заведениям. Видим как явно выделяется **Центральный административный округ**, далее **Северный и Северо-Западный административные округа**, хуже всего обстоят дела в **Юго-Восточном административном округе**.

Отобразим все заведения датасета на карте с помощью кластеров средствами библиотеки folium

С помощью инструментов **folium** отображаем все заведения датафрейма на карте в виде кластеров. Видим как группируются заведения в центре Москвы.

Анализ топ-15 улиц по количеству заведений.

Воспользуемся нашей вспомогательной таблицей.
Сгруппируем по колонке `street`, отсортируем по убыванию и сохраним первые **15** улиц. На первом месте **проспект Мира** с **184** заведениями, на втором месте **Профсоюзная улица** с **122** заведениями, далее **проспект Вернадского** на котором **108** заведений и на четвертом месте **Ленинский проспект** с **107** заведениями. Остальных улицах располагаются **менее 100** заведений. Из открытых источников мы знаем, что протяженность **проспекта Мира** составляет **9 км**, таким образом можно посчитать **плотность** заведений, она составит **1 заведение на каждые 50 метров проспекта**.
Выведем отдельно данные по **улицам** и **категориям** заведений.
Теперь можно объединить эти две таблицы.
Группируем полученную таблицу по значению.
Группируем данные по **улице** и сортируем по **категориям**, далее считаем количество заведений.
Составляем тепловую карту с указанием улиц и категорий заведений которые там размещены. Лидеру заметны сразу.
Выводим график для наглядной визуализации.

Анализ улиц на которых находится только один объект общепита.

Воспользуемся нашей переменной `data_st_top` и сортируем ее по возростанию. Таким образом получаем название улиц с **наименьшим** количеством заведений.
Далее присоединяем таблицу с указанием категорий и выводим список улиц на которых размещено всего **одно** заведение. Таких улиц **458**.
Подготовим данные для объединения с нашей таблицей `data_antitop_st_cat`.
Объединим две таблицы и получим список улиц на которых расположено всего **одно** заведение, а так же есть данные по **географической привязке (широта и долгота)**. Благодаря этому мы можем отметить эти заведения на карте.
Сделаем функцию, которая обработает название улиц и выведет последнее слово **(тип улицы)**.
Применим нашу функцию к колонке `street`, получили типы улиц. Сгруппируем типы и отсортируем по убыванию. Видим, что на втором месте расположились **переулки**, а на третьем **проезды**. Косвенно это объесняет почему на этих улицах всего по одному заведению, улицы не большие.
По карте можем видеть, что заведения располагаются в разных районах, **категории** заведений тоже разные, но улицы в основном не большие, **переулки** и **проезды**.
Группируем нашу таблицу по **категориям** и сортируем по убыванию. Получаем заначение в уличном антирейтинге, например на таких улицах, чаще всего располагается **кафе**, а **булочные** в меньшей степени.

Анализ среднего чека в заведении по округам.

Посмотри на общие данные колонки `middle_avg_bill` которая хранит данные **средних чеков**. Всего данные известны по **3149** заведениям, среднее значение **958**, медиана **750**. На среднее значение сильно влияет максимум, который показывает **35000**.
Посмотрим на анамальное значение **35000**, с большой долей вероятности, это банкетный зал, поэтому и чек завышен. Удалять значение не будем, но исключим из дальнейшего анализа.
Построим сводную таблицу. Сгруппируем данные по **округам** и посчитаем **количественное** и **медианное** значение. **Центральный и Западный округа** показывают максимальные значения в **1000**, а остальные **7 округов**, показывают значения в среднем на **40% ниже**
Построим карту хороплет со значениями среднего чека по округам. Видим, что **Центральный и Западный округа**, заметно выделяются среди остальных. А самым бюджетным оказался **Юго-Восточный административный округ**.
Построим сводную таблицу. Видим, что **Центральный административный округ** лидирует в категориях **бар, булочная, быстрое питание, кафе и пиццерия**, самые дорогие **кофейни и рестораны** в **Западном административном округе**, а **столовые** в **Юго-Восточном административном округе**.
Построим тепловую карту для визуализации наших наблюдений. Видим, что **бары и рестораны** имеют самые высокие средние чеки, хотя в **булочной** **Центрального административного рйаона** можно оставить больше чем в **кафе** во всех округах.

Анализ зависимости при удаденности от цента города.

Инсталируем библиотеку `geopy`.
Импортируем `great_circle` для библиотеки `geopy`. Создаем переменную `moscow` с координатами центра города, далее создаем новую колонку `remoteness` в которой на основании данных **широты и долготы** (колонки `lat` и `lng`), вычислим удаленность заведений в километрах от цента города.
Посмотрим на данные колонки `remoteness`. Видим, что **минимальное** расстояние составляет **400 метров**, в **среднем** заведения удалены на **8.6 км**, а **максимум** показывает заведение которое удалено на **20 км** от центра.
Корреляция значений **среднего чека** к значению **удаленности**, составляет **-0.16**. Таким образом, зависимость отрицательная, но малозначительная.
Корреляция значений **рейтинга** к значению **удаленности**, составляет **-0.18**. Таким образом, зависимость отрицательная, но малозначительная.
Построим график зависимости **среднего чека** на **удаленность** от цента города, дополним график параметром отношения к **сетевому заведению**. Пусть и не значительно, но мы можем наблюдать как цена снижается, уже после **5** километра выбросов меньше. Так же можем наблюдать, что **средний чек** в **сетевых** заведениях немного меньше чем в **не сетевых**.
Посмотрим теже данные, но уже на графике рассеивания.

Анализ зависимости различных факторов.

Присвоим переменной `data_pair` значения колонок `category`, `district`, `rating`, `price`, `middle_avg_bill`, `middle_coffee_cup`, `seats`, `is_24/7`, `remoteness`, `chain`. Этиданные нам пригодятся для общего анализа зависимостей.
Построим график зависимостей по отношению к различным категориям. Явных корреляций не наблюдаем.
Корреляция значений **удаленности** к значению **сетевого статуса**, составляет **0.03**. Таким образом получаем, отсутствие зависимости.
Построим тепловую карту корреляции. Можем наблюдать, что **признаки** как прямой, так и отрицательной **зависимости**, **отсутствуют**.

Детализируем исследование: открытие кофейни

Анализ кофеен в датасете. В каких районах их больше всего, каковы особенности их расположения?

Отсортируем датафрейм по категории **кофейня**
Всего в датафрейме представлены данные по **1413** заведениям в данной категории.
Составим сводную таблицу. Сгруппируем данные по округам и посчитаем число **кофейн** в каждом, далее отсортируем по убыванию. В **Центральном административном округе** кофейн в **2 раза больше** чем в остальных районах **(428)**. На втором месте **Северный административный округ** с показателями в **193** заведения, на третьем месте **Северо-Восточный административный округ** с **159** заведениями. **Северо-Западный административный округ** на последнем месте, всего **62** кофейни.
Отобразим все **кофейни** на карте.

Анализ круглосуточных кофейн.

В датафрейме есть данные о времени работы для **1413** заведений. **59** из них работают **круглосуточно**.
Визуализируем распределение заведений по тем, что **работают круглосуточно**.
Сгруппируем **круглосуточные** заведения на **названию** и отсортируем по убыванию. Таким образом мы можем наблюдать явного лидера **Шоколадница**.
Сгруппируем **круглосуточные** заведения по **административному округу** и посчитаем **количество** заведений и их **средний рейтинг**. Отсортируем по количеству. У нас в очередной раз, с явным преимуществом, **ледером** оказывается **Центральный административный округ**. Анти рейтинг тоже на лицо, в **Юго-Восточном административном округе**, рейтинг заведения **2.3**.
Отобразим все **круглосуточные кофейни** на карте.

Какие у кофейн рейтинги? Как они распределяются по районам?

Построим сводную таблицу. Сгруппируем по округам и посчитаем средний рейтинг. Далее отсортируем по убыванию. Видим, что **Центральный административный округ** вновь на первом месте с показателем **4.33**, на втором месте **Северо-Западный административный округ** с показателем **4.32**, на третьем месте **Северный административный округ** с показателем **4.29**. А вот **Западный административный округ** оказался на последнем месте с показателем **4.19**.
Сгруппируем кофейни по названию и посчитаем средний рейтинг. - Первые **30** заведений имеют рейтинг**5**, - далее с **31** по **765** место имеют рейниен **4**, - с **766** по **835** рейтинг **3**, - еще **2** заведения имеют рейтинг**2** - и всего **одно** заведение **Маракуйя** имеет рейтинг **1.4**.
Построим хороплет с данными **среднего рейтинга**. Видим, что **Центральный административный округ** вновь на первом месте с показателем **4.33**, на втором месте **Северо-Западный административный округ** с показателем **4.32**, на третьем месте **Северный административный округ** с показателем **4.29**. А вот **Западный административный округ** оказался на последнем месте с показателем **4.19**.

На какую стоимость чашки капучино стоит ориентироваться при открытии и почему?

Посмотрим на данные колонки `middle_coffee_cup` с ценой на **чашку капучино**. Всего данные о стоимости чашки капучино представлены по **521** заведению. **Среднее** значение **175** рублей, **медианное** значение **170** рублей, **минимум** **60** и **максимум** **1568**.
Отсортируем данные по убыванию. Цена в **1568** рублей аномалия.
Создадим переменную `data_cofe_cap` со сначением чашки капучино не выше **400** рублей..
Группируем данные **цены** на чашку капучино по **административным округам** и считаем **медианное** значение. Далее сортируем по убыванию. Получаем информацию, на первом месте **Юго-Западный административный округ** с ценой за чашку в **198** рублей, на втором месте **Центральный административный округ** с ценой за чашку в **190** рублей, третье место у **Западного административного округа** с ценой за чашку в **189** рублей, а самым бюджетным оказался **Восточный административный округ** с ценой в **135** рублей за чашку капучино.
Построим карту хороплет для визуализации данных о цене на чашку капучино.
Посмотрим на распределение ценовой категории.
Построим для визуализации график распределение по ценовым категориям. К **средней** ценовой категории относят себя **78%** заведений, а к **низкой** **21%**.
Сгруппируем данные **цены** на **чашку капучино** по **улицам** и посчитаем **медианное** значение. Далее отсортируем по убыванию и получим **рейтинг** мест с **самым дорогим капучино**. На **первом** месте **Большая Никитская** с ценой за чашку в **328** рублей, на **втором** месте **3-я Фрунзенская улица** с ценой в **320** рублей, на **третьем и четвертом** месте **Богословский переулок и Большая Сухаревская площадь** с ценой за чашку в **300** рублей. **Последние 12** мест занимают улицы на которых можно купить чашку капучино за **60** рублей.

Общий вывод

**Исследование заведений общественного питания в Москве.** По задаче инвесторов из фонда **«Shut Up and Take My Money»** анализируем данные заведений Московского общественного питания. Нам доступен датасет с заведениями общественного питания **Москвы**, составленный на основе данных сервисов **Яндекс Карты** и **Яндекс Бизнес** на лето **2022** года. Информация, размещённая в сервисе **Яндекс Бизнес**, могла быть добавлена пользователями или найдена в общедоступных источниках. Она носит исключительно справочный характер. **1)** На первом этапе мы загружаем все необходимые библиотеки которые могут понадобится в процессе выполнения проекта. А именно: `pandas` (для работы с данными), `matplotlib`, `seaborn` и `plotly` (для будущих графиков), `display` для вывода таблиц. Далее создаем переменную `data` и выводим первые пять строк датафрейма. Данные распределены по **14** колонкам: - `name` — *название заведения* - `address` — *адрес заведения* - `category` — *категория заведения* - `hours` — *информация о днях и часах работы* - `lat` — *широта географической точки, в которой находится заведение* - `lng` — *долгота географической точки, в которой находится заведение* - `rating` — *рейтинг заведения по оценкам пользователей в Яндекс Картах* - `price` — *категория цен в заведении* - `avg_bill` — *строка, которая хранит среднюю стоимость заказа в виде диапазона* - `middle_avg_bill` — *число с оценкой среднего чека,* - `middle_coffee_cup` — *число с оценкой одной чашки капучино* - `chain` — *идентификатор которое показывает, является ли заведение сетевым* - `district` — *административный район, в котором находится заведение* - `seats` — *количество посадочных мест* Всего **8406** строк. **2)** На этапе предобработки данных, проверили на наличие пропусков. В колонке `hours` с указанием времени работы есть **536** пропусков, это около **6%** всех данных, заменим их на значение **нет данных**. В колонках `price`, `avg_bill`, `middle_avg_bill`, `middle_coffee_cup`, `seats` пропусков слишком много, поэтому оставим как есть. Проверка на **дубликаты**, таковых **не выявила**. Для удобства дальнейшего анализа, создадим новую колонку `street`, в нее войдут только название **улицы**. Дополнительно создали новую колонку `is_24/7` в которой отразим заведения работающие **ежедневно и круглосуточно** и все остальные. **3)** Анализ данных. В данных представлены заведения по **8** категориям **(кафе, ресторан, кофейня, пиццерия, бар, быстрое питание, булочная и столовая)**. При сортировки получили данные по количеству заведений в каждой категории. - **кафе 2378** заведений - **ресторан 2043** заведений - **кофейня 1413** заведений - **бар 765** заведений - **пиццерия 633** заведений - **быстрое питание 603** заведений - **столовая 315** заведений - **булочная 256** заведений **4)** Исследуем данные по количеству **посадочных мест**, они представлены только по **4795** заведениям. **Максимальное** значение **1288** мест, **среднее** **108**, а **медианное** **75**. Это означает, что большое максимальное значение перетягивает среднее значение в большую сторону. Очень интересно, максимальное значение в **1288** мест указано в 11 заведениях. Примечательно, что заведения разных категорий, есть как **сетевые**, так и **не сетевые**, но все располагаются на одной улице **проспект Вернадского**. Исходя из этих данных, можем считать значения **выше 800**, аномальными и в дальнейшем исключить их из выборки. После группировки и сортировки получаем данные о **медианном** значении **посадочных мест** по **категориям**: - **рестораны 86** посадочных мест или **16%** от общего объема - **бары 82,5** посадочных мест или **15%** от общего объема - **кофейни 80** посадочных мест или **14%** от общего объема - **столовая 75,5** посадочных мест или **14%** от общего объема - **быстрое питание 65** посадочных мест или **12%** от общего объема - **кафе 60** посадочных мест или **11%** от общего объема - **пиццерия 55** посадочных мест или **10%** от общего объема - **булочная 50** посадочных мест или **9%** от общего объема **5)** Исследуем данные соотношения **сетевых** и **не сетевых** заведений. Всего в датафрейме представлено **5201** заведений **не сетевых (62%)** и **3205** заведений **сетевых (38%)**. **6)** Исследуем категории на предмет принадлежности к сетевым заведениям. Видим, что такие категории как: **кафе**, **ресторан**, **бар**, **быстрое питание** и **столовая** чаще не относятся к сетевым, а вот **кофейня**, **пиццерия** и **булочная** чаще имеют принадлежность к **сетевому бизнесу**. Например **булочная** имеет отношение **158%**, а **пиццерия** **108%**, **кофейня** **103%**, а **кафе** **48%** и **ресторан** **55%**. **7)** Исследуем топ 15 сетевых заведений. После группировки и сортировки получаем список: - **Кафе 189** заведений - **Шоколадница 120** заведений - **Домино'с Пицца 76** заведений - **Додо Пицца 74** заведения - **One Price Coffee 71** заведение - **Яндекс Лавка 69** заведений -**Cofix 65** заведений - **Prime 50** заведений - **Хинкальная 44** заведения - **Шаурма 43** заведения - **КОФЕПОРТ 42** заведения - **Кулинарная лавка братьев Караваевых 39** заведений - **Теремок 38** заведений - **Чайхана 37** заведений - **Ресторан 34** заведения Над некоторыми названиями явно не трудились при создании. Далее мы узнали, какие категории есть у нашего **топ 15 заведений**. И выяснили, что у **8** из **15** сетей, заведения представлены в различных категориях. Например, **Кафе** представлено в **7** категориях, **Хинкальная** в **5**, **Чайхана** в **3**, **Шаурма** в **3**, **Шоколадница** в **2**. **8)** Исследуем распределение различных **категорий** по **административным округам**. Всего таких округов **9**. После группировки и сортировки видим, что основная масса заведений располагается в **Центральном административном округе**, на него приходятся все первые места категорий при сортировки. Если не брать данные лидера, то видим, что **булочные** чаще располагаются в **Западном и Северном административном округах**, а **быстрое питание** развито в **Южном, Северо-Восточном и Восточном административном округе**. Распределение по остальным не так сильно выражено. А пиковое значение в **670** заведений, показывают рестораны в **Центральном административном округе**. **9)** Исследуем распределение **средних рейтингов** в зависимости от **категорий** заведений. Распределение показывает, **среднее** значение на уровне **4.22**, **медианное** значение **4.3**, **первый перцентиль** на уровне **4.1** (в основном ставят хорошие рейтинги). Самый высокий средний рейтинг у **баров**, далее идет группа из **4** категорий **(пиццерия, ресторан, кофейня и булочная)**, на удивление **столовая** опережает **кафе** и замыкает список **быстрое питание**. **10)** Для анализа **среднего рейтинга** заведений в зависимости от **района** Москвы, построим карту хороплет со значениями **среднего** рейтинга. Видим как явно выделяется **Центральный административный округ**, далее **Северный и Северо-Западный административные округа**, хуже всего обстоят дела в **Юго-Восточном административном округе**. **11)** С помощью инструментов **folium** отображаем все заведения датафрейма на карте в виде **кластеров**. Видим как группируются заведения в центре Москвы. **12)** По аналогии с заведениями, составили рейтинг **топ 15 улиц** Москвы по количеству **заведений**. – **проспект Мира 184** заведения – **Профсоюзная улица 122** заведения – **проспект Вернадского 108** заведений – **Ленинский проспект 107** заведений – **Ленинградский проспект 95** заведений – **Дмитровское шоссе 88** заведений – **Каширское шоссе 77** заведений – **Варшавское шоссе 76** заведений – **Ленинградское шоссе 70** заведений – **МКАД 65** заведений – **Люблинская улица 60** заведений – **улица Вавилова 55** заведений – **Кутузовский проспект 54** заведения – **улица Миклухо-Маклая 49** заведений – **Пятницкая улица 48** заведений Из открытых источников мы знаем, что протяженность **проспекта Мира** составляет **9 км**, таким образом можно посчитать **плотность** заведений, она составит **1 заведение на каждые 50 метров проспекта**. Далее составили тепловую карту и столбчатую диаграмму для визуализации данных. Из явных лидеров можно отметить **Кафе** на **проспекте Мира и МКАД**, а так же **ресторан** на **проспекте Мира**. На **Варшавском и Каширском шоссе**, а так же на **МКАД и Люблинской улице** отсутствуют булочные. На **МКАД** нет **пиццерий**, **столовая** отсутствует на **улицах Пятницкая, Вавилова и Миклухо-Маклая**. **13)** Исследуем **улицы** на которых расположено только **одно заведение**. Таких улиц оказалось **458**. Изучив типизацию улиц, мы узнали, что **107** заведений расположены в **переулках**, еще **48** в **проездах**, так же присутствуют **набережные, тупики, шоссе, площади и т.д.**. Для визуализации, отобразили все заведения на карте. Далее изучили представленность в категориях: – **кафе 160** заведений – **ресторан 93** заведения – **кофейня 84** заведения – **бар 39** заведений – **столовая 36** заведений – **быстрое питание 23** заведения – **пиццерия 15** заведений – **булочная 8** заведений Чаще всего располагается **кафе**, а **булочные** в меньшей степени. **14)** Изучили показатели **среднего чека**. Всего данные известны по **3149** заведениям, **среднее** значение **958**, **медиана** **750**. На **среднее** значение сильно влияет **максимум**, который показывает **35000**, с большой долей вероятности, это банкетный зал, поэтому чек завышен и был исключен из выборки. Сгруппированные данные по округам показывают максимальные значения **1000** в **Центральном и Западном округах**, а остальные **7 округов**, показывают значения в среднем на **40% ниже**. Для визуализации, отобразили наши наблюдения на карте хороплет, а так же на тепловой карте с распределением категорий по округам. Из тепловой карты делаем вывод, что **бары и рестораны** имеют самые **высокие средние чеки**, хотя в **булочной** **Центрального административного района** можно оставить больше чем в **кафе** во всех округах, а вот**столовые** самые бюджетные. **15)** Изучили зависимости при **удаленности** от цента города. Для этого добавили новую колонку, в которой, высчитали на какое расстояние в километрах удалено заведение от цента города. Видим, что **минимальное** расстояние составляет **400 метров**, в **среднем** заведения удалены на **8.6 км**, а **максимум** показывает заведение которое удалено на **20 км** от центра. Корреляция значений **среднего чека** к значению **удаленности**, составляет **-0.16**. Таким образом, зависимость отрицательная, но малозначительная. Корреляция значений **рейтинга** к значению **удаленности**, составляет **-0.18**. Таким образом, зависимость отрицательная, но малозначительная. Дополнительно построили график влияния **удаленности** на **средний чек**, Пусть и не значительно, но мы можем наблюдать как цена снижается, уже после **5** километра выбросов меньше. Так же можем наблюдать, что **средний чек** в **сетевых** заведениях немного меньше чем в **не сетевых**. **16)** Дополнительно изучили зависимости различных факторов, для этого построили сводный `pairplot`, но к сожалению явных зависимостей не выявили, а в качестве подтверждения, построили тепловую карту корреляции различных факторов. Полученные значения не превышают значений **0.2**. К примеру корреляция значений **удаленности** к значению **сетевого статуса**, составляет **0.03**. Таким образом получаем, отсутствие зависимости. **17)** Дополнительно произвели изыскания по категории **кофейня**, это современный и быстрорастущий тренд. Всего в датафрейме представлены **1413** заведений данной **категории**. После группировки и сортировки мы определили, что **Центральном административном округе** кофейн в **2 раза больше** чем в остальных районах **(428)**. На втором месте **Северный административный округ** с показателями в **193** заведения, на третьем месте **Северо-Восточный административный округ** с **159** заведениями. **Северо-Западный административный округ** на последнем месте, всего **62** кофейни. Для наглядной визуализации, отобразили все заведения на карте. **18)** При изучении времени работы, мы определили, что всего **4%** кофейн работают **круглосуточно**, а это **59** заведений. Визуализировали наблюдение графиком. Изучая какие заведения работают **круглосуточно**, выявили лидера, это сеть **Шоколадница** с **17** заведениями, на втором месте **Кофемания** с **8** заведениями, остальные представлены не так хорошо. После группировки по **округам** и сортировки по **среднему рейтингу**, выявили округа лидеры. У нас в очередной раз, с явным преимуществом, **лидером** оказывается **Центральный административный округ**. Анти рейтинг тоже на лицо, в **Юго-Восточном административном округе**, рейтинг заведения **2.3**. Для наглядности, визуализировали все на карте. **19)** Изучили рейтинги в категории **кофейня**. Сгруппировав по **округам** и посчитав **среднее** значение, выявили, что **Центральный административный округ** вновь на первом месте с показателем **4.33**, на втором месте **Северо-Западный административный округ** с показателем **4.32**, на третьем месте **Северный административный округ** с показателем **4.29**. А вот **Западный административный округ** оказался на последнем месте с показателем **4.19**. Визуализировали эти наблюдения на карте хороплет. А сгруппировав рейтинги по заведениям, определили: - Первые **30** заведений имеют рейтинг**5**, - далее с **31** по **765** место имеют рейтинг **4**, - с **766** по **835** рейтинг **3**, - еще **2** заведения имеют рейтинг**2** - и всего **одно** заведение **Маракуйя** имеет рейтинг **1.4**. **20)** Изучили стоимость чашки капучино. Всего данные о стоимости чашки капучино представлены по **521** заведению. **Среднее** значение **175** рублей, **медианное** значение **170** рублей, **минимум** **60** и **максимум** **1568**, это значение является аномалией и из дальнейшей выборки будет исключено. После группировки по округам и сортировки по цене, мы получаем рейтинг **самых дорогих округов** по **цене на чашку капучино**. На первом месте **Юго-Западный административный округ** с ценой за чашку в **198** рублей, на втором месте **Центральный административный округ** с ценой за чашку в **190** рублей, третье место у **Западного административного округа** с ценой за чашку в **189** рублей, а самым бюджетным оказался **Восточный административный округ** с ценой в **135** рублей за чашку капучино. Визуализировали наши наблюдения на карте хороплет. Дополнительно изучили к каким ценовым категориям принадлежат эти заведения. К **средней** ценовой категории относят себя **78%** заведений, а к **низкой** **21%**. Визуализировали наблюдения графиком. Сгруппировали данные **цены** на **чашку капучино** по **улицам** и посчитали **медианное** значение, отсортировали по убыванию и получим **рейтинг** мест с **самым дорогим капучино**. На **первом** месте **Большая Никитская** с ценой за чашку в **328** рублей, на **втором** месте **3-я Фрунзенская улица** с ценой в **320** рублей, на **третьем и четвертом** месте **Богословский переулок и Большая Сухаревская площадь** с ценой за чашку в **300** рублей. **Последние 12** мест занимают улицы на которых можно купить чашку капучино за **60** рублей.\ Резюмируя, можно отметить, что рынок **общественного питания** очень разнообразен даже в рамках одной **категории**. К примеру, кофейни могут быть небольшими, располагаться на 10м2 и торговать на вынос, имея в меню дополнение к кофе небольшой ассортимент выпечки, а может быть полноценное большое заведение с большим ассортиментом блюд и количеством посадочных мест не менее 80.\ Будущим инвесторам, в первую очередь необходимо ответить на вопрос о бюджете будущего заведения и его концепции. Можно рассматривать франшизы или идти по собственному пути.\ Дополнительно не помешает **анализ пешего и автомобильного трафика** в том районе, в котором хотели бы развиваться. Так же нужен детальный **анализ всех конкурентов** в радиусе **5-10** км.\ Что касается цены на чашку, то она будет зависеть не от желания владельца заведения, а от возможности того или иного района, на цену будут влиять конкуренты, проходимость, цена закупки, использование оборудования (свое или арендное), наличие и качество персонала. Если вдаваться в детали, то данный проект не выдержит временные рамки, отведенные на его подготовку в рамках обучения. Поэтому вынужден остановиться и отправить проект на проверку.